﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;

namespace Conexion
{
    public class UDPCLIENTE
    {
        private UdpClient cliente;
        private IPEndPoint endpoint;


        public UDPCLIENTE(string ip, int puerto)
        {
            IPAddress adress = IPAddress.Parse(ip);
            endpoint = new IPEndPoint(adress, puerto);
            cliente = new UdpClient(puerto);
            cliente.JoinMulticastGroup(adress);
        }

        // el endpoint es para saber a donde voy a mandar el mensaje
        public void sendTo(string Mensaje)
        {

            byte[] msj = Encoding.UTF8.GetBytes(Mensaje);
            cliente.Send(msj, msj.Length, endpoint);
        }

        public string Recive()
        {
            // host desde el cual se enviaron los datos. es un metodo bloqueante
            byte[] msj = cliente.Receive(ref endpoint);
            return Encoding.UTF8.GetString(msj);
        }
    }
}
